/*-------------------------------------------------------------------------
  Author (C) 2008, Charles Wang <charlesw123456@gmail.com>

  This program is free software; you can redistribute it and/or modify it 
  under the terms of the GNU General Public License as published by the 
  Free Software Foundation; either version 2, or (at your option) any 
  later version.

  This program is distributed in the hope that it will be useful, but 
  WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
  or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License 
  for more details.

  You should have received a copy of the GNU General Public License along 
  with this program; if not, write to the Free Software Foundation, Inc., 
  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

  As an exception, it is allowed to write an extension of Coco/R that is
  used as a plugin in non-free software.

  If not otherwise stated, any source code generated by Coco/R (other than 
  Coco/R itself) does not fall under the GNU General Public License.
-------------------------------------------------------------------------*/
using System;
using System.IO;

public class CcsErrorPool_t {
    TextWriter writer;
    int warningCount;
    int errorCount;

    public CcsErrorPool_t(TextWriter writer)
    {
	this.writer = writer;
	warningCount = 0;
	errorCount = 0;
    }

    ~CcsErrorPool_t()
    {
    }

    public void Info(string s)
    {
	writer.WriteLine(s);
    }

    public void Warning(int line, int col, string s)
    {
	writer.WriteLine("Warning({0}, {1}): {2}", line, col, s);
	++warningCount;
    }

    public void Error(int line, int col, string s)
    {
	writer.WriteLine("Error({0}, {1}): {2}", line, col, s);
	++errorCount;
    }

    public void Fatal(int line, int col, string s)
    {
	writer.WriteLine("Fatal Error({0}, {1}): {2}", line, col, s);
	Environment.Exit(-1);
    }
};
